package com.yuandian.management.mapper;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuandian.management.vo.CodeDetailsVo;
import com.yuandian.management.vo.CodeManagementParams;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Set;

/**
 * 返回码详情
 *
 * @author zhoutian
 * @date 2021/1/26 17:22
 */
@Mapper
public interface CodeDetailMapper {
    /**
     * 根据返回码值和返回码类型以及返回码名称查询返回码详细信息
     *
     * @param value 返回码值
     * @param typeId 类型id
     * @return CodeDetailsVo
     */
    CodeDetailsVo selectByValueAndTypeAndName(@Param("value") String value, @Param("typeId")Integer typeId, @Param("name")String name);
    /**
     * 查询所有
     *
     * @param page   分页信息
     * @param params 参数
     * @return CodeDetailsVo
     */
	Page<CodeDetailsVo> queryList(Page<CodeDetailsVo> page, @Param("params") CodeManagementParams params);

    /**
     * 根据ID查询
     *
     * @param id id
     * @return CodeDetailsVo
     */
    CodeDetailsVo queryById(Integer id);

    /**
     * 修改返回码详情
     *
     * @param vo 参数
     * @return int
     */
    int updateCode(CodeDetailsVo vo);

    /**
     * 新增返回码详情
     *
     * @param vo 参数
     * @return int
     */
    int saveCode(CodeDetailsVo vo);

    /**
     * 批量新增
     *
     * @param vo 参数
     * @return int
     */
    int addCodeList(Set<CodeDetailsVo> vo);

    /**
     * 批量删除
     *
     * @param ids id集
     * @return int
     */
    int delByIds(Integer[] ids);

}
